Generally, it is recognized that controllers for SDNs (Software-Defined Networks) are vulnerable to faults. Normally, such controllers are only logically centralized, while associated distributed entities are then provisioned to provide scalability and fault tolerance. However, several problems associated with decentralization can result in a greater likelihood of faults, and conventional solutions have not been adequate to address such issues.